// bool, Obj me, Obj h

Unit this;
Hero hero;

this = me.AsUnit();
if(!.IsValid()) return false;
hero = h.AsHero();
if(!hero.IsValid()) return false;

if(.IsHeirOf("Hero")) return false;
if(.IsEnemy(hero)) return false; 

if(.hero == hero) return false;

if(.IsHeirOf("SentryOutpost")){
	if(!hero.IsHeirOf("CaptainOutpost"))
		return false;
}
if(.IsHeirOf("RamUnit")) return false;
if(.IsHeirOf("Wagon")) return false;
if(.IsHeirOf("Sentry")) return false;
if(.IsHeirOf("BaseAnimal")) return false;
if(.IsHeirOf("ShipBattle")) return false;
if(.IsHeirOf("ShipTransport")) return false;

return true;
